Hardware devices often have multiple, independent instances. For example, within the context of an accelerator performing multiple computations, the accelerator may have several processing units. Different subsets of these units may be allocated to different user-mode processes. With such a large number of subsets, it may be important to make sure that a process is only able to access a subset or subsets of devices which are allocated to the process.